Voicemail systems and methods

ABSTRACT

Systems, methods and computer readable media for providing or managing or using voicemails are described. In one embodiment, a method includes receiving, at a first data processing system, data representing an expiration time of a voicemail left for a user of the first data processing system and storing the data representing the expiration time for later use by the first data processing system. Systems, media, and other methods are also described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 11/620,716, filedJan. 7, 2007, which is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

Modern telephone systems, such as a land line telephone or a wirelesscellular telephone, include the ability to leave a voice message for theowner or user of the telephone. Typically, a caller to the phone numberof that phone will hear a voicemail greeting telling the caller to leavea message. After the greeting, the caller has the opportunity to leave amessage which is recorded on a voicemail system. In certain embodiments,the voicemail is recorded locally on a storage device which is part of atelephone in the case of certain land line phones, or the voicemail maybe recorded on a voicemail server maintained in the infrastructure of apublic telephone carrier, such as AT&T or Verizon or Verizon Wireless.

These voicemails are recorded and maintained for later use by the owneror operator of the telephone device for which the voicemail account wasestablished. For example, the user of the telephone device may connectto the voicemail server through a telephone call to the voicemail serverto listen to one or more voicemails stored at the voicemail server.Current systems provide a very minimal user interface to the user withrespect to the voicemails stored at the voicemail server. For example,on a typical wireless cellular telephone, the user is presented with anotification which indicates the number of voicemails. FIG. 1 shows anexample of a display of a telephone device, such as a wireless cellulartelephone. The display 10 includes an indication 11 which shows thatthere are two voicemails, which may be new voicemails not listened to bythe user. The user must then obtain access to those voicemails byconnecting to the voicemail server through a telephone call. During thatphone call, the user is prompted to enter commands to cause playback ofthe voicemail messages. The playback sequence is constrained by theorder in which the voicemails were recorded or received at the voicemailserver. In other words, the user must access each voicemail one afteranother in a series based upon the time of receipt of the voicemail.

This user interface prevents the user from randomly picking and choosingvoicemails for listening and forces the user to go through each andevery voicemail to determine which voicemails are important and whichare not important.

SUMMARY OF THE DESCRIPTION

Voicemail systems, methods, and computer readable media are describedherein. In one embodiment, a machine implemented method includesreceiving, at a first data processing system, data representing anexpiration time of a voicemail left for a user of the first dataprocessing system, and storing the data representing the expiration timefor later use by the first data processing system. This method mayfurther include presenting a user interface to the user, which userinterface alerts the user of the expiration time of the voicemail. Thismethod may also include transmitting, in response to the expirationtime, a request, from the first data processing system to a second dataprocessing system to perform at least one of extending the expirationtime or saving the voicemail. In at least certain embodiments of thismethod, the first data processing system may be a wireless cellulartelephone or a land line phone or other telephone devices. In at leastcertain embodiments, the second data processing system may be avoicemail system which records voicemails left for customers of a publictelephone carrier, such as a public wireless cellular telephone carrier.

In another embodiment, the machine implemented method includesrecording, at a first data processing system, a voicemail left for auser, and transmitting, to a second data processing system, datarepresenting an expiration time of the voicemail. In at least certainimplementations of this method, the first data processing system may bea voicemail system which records voicemails left for customers of apublic telephone carrier, and the second data processing system includesa telephone device, such as a wireless cellular telephone operated bythe user. The expiration time may be based upon the time of recording ofthe voicemail at the first data processing system.

In another embodiment, a machine implemented method includes receiving,at a first data processing system, data representing at least one of agreeting length or a password length for a voicemail system of the firstdata processing system and storing the data representing the length forlater use by the first data processing system. This method may furtherinclude presenting the length to a user when a user's entered dataexceeds the length. In at least certain embodiments, the presenting mayinclude retrieving the stored length without having to transmit thelength for a second time through the data processing network.

In another embodiment, a machine implemented method includes receiving,at a first data processing system, a request to set up a voicemailaccount of a user of a second data processing system and transmitting,in response to the receiving, data representing at least one of agreeting length or a password length for the voicemail account. In atleast certain implementations of this method, the data representing theat least one of the greeting length or the password length istransmitted before the user enters at least one of a password orgreeting for the voicemail account. The voicemail account may bemaintained by a voicemail server which records voicemails left forcustomers of a public telephone carrier, such as a public wirelesscellular telephone carrier. Storage of the greeting length or thepassword length allows a telephone device to enforce a rule, such as apassword length or a greeting length, without having to transmit animproper greeting or an improper password and then be notified by datafrom a network that the greeting or password is invalid because it istoo long.

In another embodiment, a machine implemented method includes receiving,as a streaming media, data of a voicemail at a first data processingsystem, and playing, at the first data processing system, the voicemailas the data is received. This method may further include buffering afirst portion of the voicemail in a memory of the first data processingsystem, and playing the first portion of the voicemail after thebuffering of the first portion, and this method may further includebuffering a second portion of the voicemail in the memory after thebuffering of the first portion, and playing the second portion of thevoicemail after the buffering of the second portion. The portions mayinclude a plurality of packets of data, each of which includes a headerwhich represents a time in a playback sequence of the voicemail. Theportions may or may not be saved at the first data processing systemafter the playing of the portions.

In another embodiment, a machine implemented method includes receiving arequest to transmit data of a voicemail and transmitting, from a firstdata processing system, the data of the voicemail as a streaming media.This data of the voicemail may be transmitted in at least a firstportion and a second portion, each of which includes a plurality ofpackets of data, and each of the packets of data including a headerwhich includes data representing a time in a playback sequence of thevoicemail.

The telephone device, in at least certain embodiments, may include localstorage for locally storing voicemails received from the voicemailserver which were initially recorded at the voicemail server maintained,controlled, and/or operated by the public telephone carrier whichprovides telephone and/or voicemail service to the user of the telephonedevice.

In another embodiment, a machine implemented method includes receiving afirst portion of a voicemail and a first metadata specifying arelationship for the first portion relative to the entire voicemail andstoring the first portion and the first metadata, and receiving a secondportion of the voicemail and a second metadata specifying a relationshipfor the second portion relative to the entire voicemail, and storing thesecond portion in the second metadata. This method may allow partialdownloads of a voicemail which can be reconstructed at a receivingtelephone device, such as a wireless cellular telephone. The voicemailmay be reconstructed through the use of the metadata which specifies therelationship and time of the portion relative to the entire voicemail.The first portion and the second portion may be received from avoicemail system which records voicemails left for customers of a publictelephone carrier, such as a public wireless cellular telephone carrier.This technique for partial receipt of voicemails may be useful when awireless connection, such as a cellular wireless connection between thefirst data processing system and a voicemail server, is capable of beinglost between receipt of the first and second portions of the voicemail.In another embodiment, a machine implemented method includestransmitting a first portion of a voicemail and first metadataspecifying a relationship for the first portion relative to the entirevoicemail, and transmitting a second portion of the voicemail and asecond metadata specifying a relationship for the second portionrelative to the entire voicemail.

In another embodiment, a machine implemented method includes storing avoicemail parameter for a first data processing system and associating afirst metadata with a voicemail parameter and receiving second metadatafrom a second data processing system relating to the voicemail parameterand comparing the first metadata and the second metadata, anddetermining, from the comparing, whether to change the voicemailparameter at one of the first and the second data processing systems.This method may be used to determine whether a voicemail greeting storedat a voicemail server or at a telephone device is old and needs to bereplaced by a newer voicemail greeting. Similarly, this method may beused to determine whether a voicemail password at one or the other ofthe data processing systems is old and needs to be replaced with a newervoicemail password.

In another embodiment, a machine implemented method includesestablishing a first connection for playback of a first voicemail inresponse to a first selection of the first voicemail and establishing asecond connection for playback of a second voicemail and terminating thefirst connection in response to a second selection of the secondvoicemail while the first voicemail is being played back. This methodmay allow a voicemail server to constrain the number of connections madeto it when responding to requests to play back voicemail messages. Thisvoicemail system or voicemail server may record voicemails for customersof a public telephone carrier, such as a public wireless cellulartelephone carrier.

Other methods are described herein and systems for performing thesemethods are described herein and computer readable media for performingthese methods are also described herein. Furthermore, variousapparatuses and devices which are configured to perform these methodsare also described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows an example in the prior art of a voicemail user interface.

FIG. 2A shows, in block diagram form, an example of a telephone deviceor other communication device which includes at least one wirelesstransceiver.

FIG. 2B shows, in block diagram form, an example of a data processingsystem, which may be a handheld personal computer which includes atleast one wireless transceiver.

FIG. 2C shows an example of a data processing system; this dataprocessing system may be used to implement a voicemail server in atleast certain embodiments.

FIG. 2D shows a formfactor for a data processing system, such as ahandheld personal computer in a tablet form factor.

FIG. 2E shows an example of a telephone device which may be used in atleast certain embodiments of the present inventions.

FIGS. 2F and 2G show another formfactor for a telephone device which maybe used with at least certain embodiments of the present inventions.

FIG. 3 shows an example of a network which includes telephone devicesand at least one voicemail server which may be used in at least certainembodiments of the present inventions.

FIGS. 4A, 4B, 4C, and 4D illustrate examples of a user interface whichmay be used in at least certain embodiments of the present inventions.

FIGS. 5A and 5B are flow charts illustrating a method according tocertain embodiments of the present inventions.

FIG. 6 is a flow chart illustrating a method according to at leastcertain embodiments of the present inventions.

FIG. 7 is a flow chart illustrating a method according to at leastcertain embodiments of the present inventions.

FIG. 8 is a flow chart illustrating a method according to at leastcertain embodiments of the present inventions.

FIG. 9 is a flow chart illustrating a method according to at leastcertain embodiments of the present inventions.

FIGS. 10A and 10B are flow charts illustrating methods according to atleast certain embodiments of the present inventions.

FIG. 11 is a flow chart illustrating a method according to at leastcertain embodiments of the present inventions.

DETAILED DESCRIPTION

Various embodiments and aspects of the inventions will be described withreference to details discussed below, and the accompanying drawings willillustrate the various embodiments. The following description anddrawings are illustrative of the invention and are not to be construedas limiting the invention. Numerous specific details are described toprovide a through understanding of various embodiments of the presentinvention. However, in certain instances, well-known or conventionaldetails are not described in order to provide a concise discussion ofembodiments of the present inventions.

The present invention can relate to an apparatus for performing one ormore of the operations described herein. This apparatus may be speciallyconstructed for the required purposes, or it may comprise a generalpurpose computer selectively activated or reconfigured by a computerprogram stored in the computer. Such a computer program may be stored ina machine (e.g. computer) readable storage medium, such as, but is notlimited to, any type of disk including floppy disks, optical disks,CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), randomaccess memories (RAMs), erasable programmable ROMs (EPROMs),electrically erasable programmable ROMs (EEPROMs), flash memory,magnetic or optical cards, or any type of media suitable for storingelectronic instructions, and each coupled to a bus.

A machine-readable medium includes any mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputer). For example, a machine-readable medium includes read onlymemory (“ROM”); random access memory (“RAM”); magnetic disk storagemedia; optical storage media; flash memory devices.

At least certain embodiments of the inventions may be part of a digitalmedia player, such as a portable music and/or video media player, whichmay include a media processing system to present the media, a storagedevice to store the media and may further include a radio frequency (RF)transceiver (e.g., an RF transceiver for a cellular telephone) coupledwith an antenna system and the media processing system. In certainembodiments, media stored on a remote storage device may be transmittedto the media player through the RF transceiver. The media may be, forexample, one or more of music or other audio, still pictures, or motionpictures.

The portable media player may include a media selection device, such asa click wheel input device on an iPod® or iPod Nano® media player fromApple Computer, Inc. of Cupertino, Calif., a touch screen input device,pushbutton device, movable pointing input device or other input device.The media selection device may be used to select the media stored on thestorage device and/or the remote storage device. The portable mediaplayer may, in at least certain embodiments, include a display devicewhich is coupled to the media processing system to display titles orother indicators of media being selected through the input device andbeing presented, either through a speaker or earphone(s), or on thedisplay device, or on both display device and a speaker or earphone(s).Examples of a portable media player are described in published U.S.patent application numbers 2003/0095096 and 2004/0224638, both of whichare incorporated herein by reference.

In certain embodiments, the data processing systems 20 and 30 may beimplemented in a small formfactor which resembles a handheld computerhaving a tablet-like input device which may be a multi-touch input paneldevice which is integrated with a liquid crystal display. Examples ofsuch devices are provided in U.S. patent application Ser. No.11/586,862, filed Oct. 24, 2006, and entitled “AUTOMATED RESPONSE TO ANDSENSING OF USER ACTIVITY IN PORTABLE DEVICES,” which is assigned to thesame assignee as the instant application. This foregoing application ishereby incorporated herein by reference.

FIG. 2A shows an example of a data processing system which may be atelephone device. The data processing system 20 includes a processingsystem, which may be one or more microprocessors, or which may be asystem on a chip. The data processing system 20 also includes memory 24which is coupled to the processing system 21; the memory may be used forstoring data and programs for execution by the processing system. Thismemory may also store metadata and audio data for voicemails locallystored on the data processing system 20. The data processing system 20also includes an audio input/output subsystem 23 which may include amicrophone and a speaker for, for example, playing back music orproviding telephone functionality through the speaker and microphone orfor interacting with a voicemail server. A display controller anddisplay device 26 provides a visual user interface for the user; thisuser interface may include a graphical user interface which is similarto that shown on a Macintosh computer when running the Mac OS Xoperating system software. System 20 also includes one or more wirelesstransceivers, such as a WiFi transceiver or an infrared transceiver or aBluetooth transceiver, and/or a wireless cellular telephony transceiver.It will be appreciated that additional components, not shown, may alsobe part of the system 20 in certain embodiments, and in certainembodiments fewer components than that shown in FIG. 2A may also be usedin a data processing system. The system 20 also includes one or moreinput devices 25 which are provided to allow a user to provide input tothe system. These input devices may be a keypad or a keyboard or a touchpanel or a multi-touch input panel or other known input devices or acombination of such input devices. The system 20 may also include anoptional input/output (I/O) device 27 which may be a connector for adock or a connector for a USB interface, etc. It will be appreciatedthat one or more buses, not shown, may be used to interconnect thevarious components shown in FIG. 2A, as is well-known in the art. Thedata processing system shown in FIG. 2A may be a handheld personalcomputer or a personal digital assistant (PDA), or a cellular telephonewith PDA-like functionality, or a WiFi based telephone, or a handheldcomputer which includes a cellular telephone, or a media player, such asan iPod, or an entertainment system, such as a PlayStation entertainmentsystem, or devices which combine aspects or functions of these devices,such as a media player combined with a PDA and a cellular telephone inone device, or a consumer electronic product or other electronicproducts. In other embodiments, the data processing system 20 may be anetwork computer or an embedded processing device within another deviceor consumer electronic product. In certain embodiments, if the dataprocessing system 20 is a telephone device which is a land linetelephone, the wireless transceivers 22 may be omitted.

FIG. 2B shows another example of a data processing system which may beused with one or more of the embodiments described herein. The dataprocessing system 30 may be a handheld personal computer which may havea tablet formfactor such as that shown in FIG. 2D. The data processingsystem 30 may include a processing system, which may be a microprocessorwhich is coupled to a memory 36 and which is also coupled to a touchinput panel 35, which may be separate from a display device orintegrated with a display device. The display device 34 is also coupledto the processing system 31. The touch input panel 35 may be a singletouch input panel which is activated with a stylus or a finger or amulti-touch input panel which is activated by one finger or a stylus ormultiple fingers, and the panel is capable of distinguishing between oneor two or three or more touches and is capable of providing inputsderived from those touches to the processing system 31. The displaycontroller and display device 34 may provide a visual user interface forthe user, and this visual interface may include a graphical userinterface which is similar to that shown on a Macintosh computer whenrunning OS X operating system software. The memory 36 may store data andcomputer programs and recorded voicemails which have been locally storedon the data processing system 30. The data processing system may alsoinclude an optional keyboard and/or buttons, such as dedicated or softbuttons, on the system to allow the user to provide inputs to thekeyboard and/or the buttons. The optional keyboard may swing out orslide out from a portion of the device. In other embodiments, thekeyboard is not present as the touch input panel is used to provide akeyboard for use by the user. An audio input/output subsystem 33 mayinclude a speaker and a microphone or several speakers and microphonesto provide telephone functionality, media playing functionality, and toallow a user to access a voicemail system, such as a voicemail serverthrough a telephone network. The data processing system 30 may alsoinclude other input/output devices 38, and it is shown as including oneor more wireless transceivers, such as a WiFi transceiver, an infraredtransceiver, a Bluetooth transceiver, and/or a wireless cellulartelephony transceiver. It will be appreciated that additionalcomponents, not shown, may also be part of the system 30 in certainembodiments, and in certain embodiments, fewer components than thatshown in FIG. 2B may also be used in a data processing system accordingto various embodiments of the present inventions. The data processingsystem 30 may be a PDA or a cellular telephone with PDA-likefunctionality or a cellular telephone without PDA functionality or ahandheld personal computer which includes a cellular telephone and amedia player, such as an iPod, or consumer electronic products or otherelectronic products which allow for access to voicemail functionality.

FIG. 2C shows an example of a data processing system which may be usedto implement a voicemail server. It will be appreciated that other typesof voicemail servers, implemented with a different architecture, mayalso be used with one or more of the embodiments of the presentinventions described herein. Note that while FIG. 2C illustrates thevarious components of the data processing system 45, it is not intendedto represent any particular architecture or manner of interconnectingthe components, as such details are not germane to the presentinventions. It will also be appreciated that a system having additionalcomponents not shown in FIG. 2C or having fewer components than thatshown in FIG. 2C may also be used to provide a voicemail server orfunctionality for a voicemail server. The data processing system 45includes a bus 51 which is coupled to one or more microprocessors whichform a processing system 47. The bus 51 is also coupled to memory 49 andto non-volatile memory 50, which may be a magnetic hard drive or othernon-volatile memory device which may store data and software to operatethe data processing system 45 as well as storing voicemails left for aplurality of customers of a public telephone carrier, such as a publicwireless cellular telephone carrier. The bus is also coupled to adisplay controller and a display 52, which may be optional in certaininstances. Further, the bus is coupled to one or more input/outputdevices and/or controllers 53. This may include network interfacecontrollers or network interface cards, cursor control devices,keyboards, etc. in order to allow input and output for the dataprocessing system 45. In at least certain embodiments, the dataprocessing system 45 will include at least one network interface card orinterface device to allow data to and from a data network to beprocessed by the data processing system 45. For example, an Ethernetnetwork interface may provide one or more ports 55 which act as aninterface to a data network, such as a packet network, such as theInternet. Hence, data from the data network may be received through port55 and data for transmission to the network may be received through theport 55. Similarly, an input/output controller and device may provide aport 54 for connection to a telephone network, such as a POTs telephonenetwork. This allows the data processing system 45, if it is functioningas a voicemail server, to be coupled to both the Internet and aconventional telephone network, such as a POTs network, to receive andrecord voicemail messages from callers on both the Internet and the POTsnetwork as will be described further in connection with FIG. 3. Thememory 49 may be implemented as dynamic RAM (DRAM) which provides fastaccess to data but which requires power continually in order to refreshor maintain the data in the memory. The non-volatile memory 50 may be amagnetic hard drive or other non-volatile memory which retains data evenafter power is removed from the system. While the architecture of FIG.2C shows that the non-volatile memory 50 is a local device coupleddirectly to the rest of the components in the data processing system, itwill be appreciated that other embodiments may utilize a non-volatilememory which is remote from a system, such as a network storage deviceor a storage area network which is coupled to the data processing systemthrough a network interface, such as a modem or an Ethernet interface.The bus 51, as is well-known in the art, may include one or more busesconnected to each other through various bridges, controllers, and/oradapters as is known in the art.

It will be apparent from this description that aspects of the inventionsmay be embodied, at least in part, in software. That is, the techniquesmay be carried out in a computer system or other data processing systemin response to its processor or processing system executing sequences ofinstructions contained in a memory, such as memory 24, or memory 36, ormemory 49, etc. In various embodiments, hardwired circuitry may be usedin combination with the software instructions to implement the presentinventions. Thus, the techniques are not limited to any specificcombination of hardware circuitry and software, nor to any particularsource for the instructions executed by the data processing systems.

FIGS. 2D, 2E, 2F, and 2G illustrate various form factors for telephonedevices which may be used with at least certain embodiments of thepresent inventions. These telephone devices may be wireless cellulartelephones or cordless land line phones or corded land line phones orWiFi phones which are designed to operate wirelessly through a WiFi orWiMax network to transmit and receive phone calls. Each of thesetelephone devices may be used to initialize a voicemail account and toaccess and use the voicemail account as described herein in connectionwith various embodiments. The formfactor of FIG. 2D may be considered tobe a handheld tablet cellular telephone, although in other embodimentsit may be larger, such as a tablet laptop computer. The formfactor shownin FIG. 2D may or may not include a slide out or swing out keyboardand/or touch wheel. It also may or may not include dedicated or softbuttons on the device. As shown in FIG. 2D, the data processing system60 includes a display 63 which occupies a substantial portion (e.g. morethan 75%) of one surface of the data processing system 60. The dataprocessing system 60 may have a substantially rectangular frame 64 onwhich is disposed the display 63 which may include an integrated touchinput panel, such as a multi-touch input panel. A microphone 66 and aspeaker 65 are also disposed on one surface of the data processingsystem 60. An optional external antenna 61 may also be included or, incertain embodiments, may not be included. The data processing system 60may also include one or more sensors, such as the sensor 62, which maybe, in one embodiment, a proximity sensor or an ambient light sensor orother sensors or a combination of such sensors. The microphone 66 andthe speaker 65 may be part of the audio input/output subsystem of thedata processing system, such as the audio input/output 23 of FIG. 2A orthe audio input/output 33 of FIG. 2B. When the data processing system 30of FIG. 2B is implemented within the formfactor shown in FIG. 2D, thetouch input panel 35 may be integrated with the display device 34 suchthat the display and the touch input panel are overlapping andregistered to each other. The data processing system 60 shown in FIG. 2Dmay be implemented in a handheld formfactor which has a size such thatit may be held in one hand of a user. In at least one embodiment, thissystem may have a size in a first dimension of less than about 8 inchesand a size in a second dimension of less than about 4 inches and a sizein a third dimension of less than about 1.5 inches. Each of thesedimensions may be an axis of one of the axes in an X, Y, Z coordinatespace. In other embodiments, the data processing system 60 may have asize in a first dimension of less than about 5 inches and a size in asecond dimension of less than about 2.5 inches and a size in a thirddimension of less than about 1 inch.

FIG. 2E shows another formfactor for a telephone device, which may be awireless cellular telephone or corded land line phone. Such a telephonedevice may be used in one or more of the embodiments described herein toinitialize a voicemail account and to access and use a voicemail accountas described herein. The telephone device 70 of FIG. 2E includes adisplay 71 and a keypad 72 and a speaker 73 and a microphone 74. In atleast certain embodiments, the telephone device 70 may open up at theseam 75 to expose an internal QWERTY keyboard and/or touch wheel orother input device. Further, an additional display within the phone,which is exposed when the seam 75 is opened, may also be present insidethe telephone device 70. In other embodiments, the telephone device 70may include a sliding out or swinging out keyboard or other inputdevice. In other embodiments, the telephone device 70 may include asmall thumb QWERTY keyboard instead of the keypad 72; an example of sucha small thumb QWERTY keyboard is found on Blackberry telephone/emaildevices.

FIGS. 2F and 2G illustrate another formfactor for a telephone device.This formfactor may be referred to as a clamshell or a flip phoneformfactor. This telephone device 78 includes a display housing 89 and akeypad housing 91 which are coupled together by a hinge 87. Thetelephone device 78 may be a wireless cellular telephone which mayinclude an antenna (not shown) on the display housing 89. The hinge 87allows a user to open and close the cellular telephone so that it can beplaced in at least one of two different configurations shown in FIGS. 2Fand 2G. The keypad housing 91 may include a keypad 95 which receivesinputs from a user and a microphone 97 which receives voice input fromthe user. The keypad 95 may be implemented as a set of mechanicalbuttons or as a touch input panel or a multi-touch input panel. Thedisplay housing 89 may include, on its interior surface, a display 93,such as a liquid crystal display, and a speaker 98 and a sensor, such asa proximity sensor or other sensors. FIG. 2G shows the telephone device78 in its closed configuration; in this configuration, it can be seenthat the display 88 is on the exterior surface of the display housing89, and that a speaker 97 is also on that exterior housing. Further, asensor, such as a proximity sensor or an ambient light sensor 94, isalso on the exterior surface of the display housing 89. The telephonedevice 78 may include the data processing system 20 shown in FIG. 2A orthe data processing system 30 shown in FIG. 2B. In addition, thetelephone device 78 may further include a slide out or swing outkeyboard or other input device.

The system 100 shown in FIG. 3 represents a modern telephone systemwhich includes a data network such as the Internet 101 and theconventional, plain old telephone system (POTs) 103 which are in someway or another interconnected as shown by the overlap between theInternet 101 and POTs 103. Land line phones or cordless land linephones, such as phones 119 and 121, are shown coupled to POTs 103. Oneor more voice over IP (VOIP) telephones 117 are shown coupled to theInternet 101. One or more computers 115, such as general purpose dataprocessing systems, are also coupled to the Internet 101. The computers115 may be, for example, a desktop or laptop computer such as aMacintosh computer or a computer running a Windows operating system andmay include software to provide a VOIP telephone through the computers115. One or more wireless access points 113, such as a WiFi hot spot,may also be coupled to the Internet 101 to provide connectivity to WiFitelephones or wireless handheld computers or other wireless computerwhich include WiFi transceivers, etc. At least one wireless telephonenetwork is coupled to the POTs 103 as shown in FIG. 3 through the one ormore mobile switch centers 105 which are in turn coupled to one or morecell towers, such as cell towers 107 and 109. The cell towers 107 and109 are in wireless cellular communication, through wireless cellulartelephony, with wireless cellular telephones, such as one or morewireless cellular telephones 123. One or more wireless handheldcomputers 125 may be in communication with a wireless access point or aplurality of wireless access points 113 and may also be in communicationwith a cellular telephone network through, for example, one of the celltowers 107 and 109. The mobile switching center 105 will typicallyinclude one or more connections to POTs 103 and one or more connectionsto the Internet 101. One or more voicemail servers 111 are also coupledto the Internet 101 and to the POTs 103. The voicemail servers aretypically provided and controlled by a public telephone carrier, such asAT&T, or a public wireless cellular telephone carrier, such as VerizonWireless. A public telephone carrier is any service provider oftelephone service which accepts a contract to provide telephone service(which may include voicemail service) to any member of the public aslong as that member provides consideration (e.g., pays service fees) forthe service. Similarly, a public wireless telephone carrier is anyservice provider of a wireless telephone service (such as a CDMA or GSMwireless cellular service or a WiFi or WiMax wireless service) whichaccepts a contract to provide wireless telephone service (which mayinclude voicemail service) to any member of the public as long as thatmember provides consideration (e.g., pays service fees) for the service.These carriers operate or control the voicemail servers to recordvoicemails left for customers of the public telephone carrier or thepublic wireless cellular telephone carrier. For example, a caller fromphone 121 may call the phone number of one or more wireless cellulartelephones 123, and if there is no answer, leave a voicemail by causingthe voicemail to be recorded on the voicemail server 111 for the user ofthe one or more wireless cellular telephones 123. Similarly, a callerfrom the voice over IP phone 117 may leave a message on the voicemailserver for a customer of a public telephone carrier, which may be theuser of phone 121 or the user of the wireless handheld computer 125 orthe user of the wireless cellular telephone 123. In this manner, any oneof the telephone devices, such as telephone devices 119, 121, 117, 115,125, and 123 may leave a voicemail for other telephone device users onone or more voicemail servers, such as the voicemail servers 111. Thesevoicemails may be accessed and listened to by making a conventionaltelephone call to the voicemail server through a telephone device. Aswill be described further below, in at least certain embodiments, thevoicemails may also be accessed through a data network, such as an HTTPconnection through the Internet to the voicemail servers 111.

In at least certain embodiments, a voicemail database may be maintainedon a voicemail server and/or a voicemail database may be maintained on atelephone device, such as the data processing system 20 or the dataprocessing system 30 which may be contained within the wireless cellulartelephone 123 or the wireless handheld computer 125 of FIG. 3. Thedatabase on each system may include an audio file or a pointer to anaudio file which provides the voicemail message as well as metadataconcerning the voicemail message, such as whether the message has beenlistened to, whether the message is to be deleted, whether the messagehas been marked as important or not, etc.

FIGS. 4A-4D reflect the presentation of a user interface on a telephonedevice for which the voicemail account exists, such as any one of thetelephone devices shown in FIG. 3, which may include, within any one ofthose telephone devices, a data processing system such as that shown inFIGS. 2B or 2C. The presentation may occur by displaying information ona display device; alternatively, the presentation may occur by providingsounds to a speaker to those who are blind, or other presentations(Braille) etc. The display 260 may be the entire display surface of thetelephone device or a portion thereof, such as a window having a border.FIG. 4A shows an example of an alert which may appear in response to anotification of, for example, a new voicemail. Upon seeing the alert262, the user may select to see the voicemails by issuing a command tothe telephone device; alternatively, the system may automatically, aftera period of time or otherwise, cause the presentation of a list ofvoicemails, such as that shown in FIG. 4B which includes the list 264within the display 260. Each voicemail includes at least some data infields arranged as columns. One field is a name field which includes atleast one name (“John”) in the case of the third voicemail from the top.The other voicemails do not include a name because their phone numbershave not been associated with an entry in a contact or address book(stored at either or both of the telephone device or the voicemailserver) which includes names associated with at least certain phonenumbers. The phone number column specifies the phone number of theperson who left the voicemail. The date/time column represents the datethe voicemail was left, and the length column indicates the duration ofthe voicemail. Other data may also be shown, such as whether or not thevoicemail has been listened to. This may be indicated by highlightingthose which have been listened to and not highlighting the others, or byproviding some other indicator, such as the indicators 266 and 267,which indicate that the third and fourth voicemails have not beenlistened to but the other two voicemails shown in the list 264 have beenlistened to. It will be understood that there may be many additionalvoicemails shown in the list 264, each with pertinent metadata withrespect to the voicemail. The voicemails may be sorted by selecting asort command from the “sort by” menu 265. In the example shown in FIGS.4B and 4C, the voicemails are sorted by date; alternatively, they may besorted by name or phone number or by length of time. Other sortingoptions may also be available depending upon the metadata which isassociated with each voicemail (e.g. importance of voicemail asdesignated by the caller, expiration date, etc.). The user interfaceshown in FIG. 4B allows a user to browse the list of voicemails andselect any one of them for further action or operation. For example, theuser may browse the list and decide to listen first to the fourth ortenth voicemail rather than the voicemail at the top of the list, whichis the oldest voicemail in this example. In other words, the user is notconstrained to listen to the voicemail in the order determined by therecording or receipt of the voicemail by the voicemail server. Rather,the user may randomly select any voicemail in any order such that theseries of voicemails selected in a particular order does not have tomatch the order presented by the voicemail server.

The user interface shown in FIGS. 4B, 4C and 4D may also include userselectable commands or controls to perform operations with respect tothe various voicemails. For example, the controls may include commandsor controls to delete a voicemail, save a voicemail, forward a voicemailto another telephone number or voicemail server, listen to a voicemail,or move a voicemail to a folder, such as a folder for voicemails fromwork or voicemails for home, etc. These commands may be presented asmenu items on a menu bar or may be accessed from a pull down menu or apop up menu or other menu structures. The user may be able to selectthese commands by tapping the commands or pointing a cursor at thecommands and pressing a button or by other techniques known in the art.

The interface shown in FIG. 4C occurs or is presented after the user hasselected a particular voicemail for playback; in other words, the userin this case has selected the third voicemail from “John” to listen toby playing it back. In response to the selection, the indicator 266 isremoved and a time line with playback controls is displayed under themetadata for the voicemail from John. The time line 270 includes abeginning indicator 271 and an ending indicator 272 and includes acurrent time indicator 274. The term “time line” (such as playback timeline) is meant to include any representation, such as a line or a circleor other shape or form which can represent time and allow a user toselect a time within a voicemail, at least with some level ofgranularity in time. The current time indicator indicates the timewithin the voicemail at the current playback moment. In the particularexample shown in FIG. 4C, the current playback time is about halfwaythrough the voicemail as indicated by the current time indicator 274.This current time indicator may merely indicate the time or, in otherembodiments, may be user-adjustable in that the user may select thecurrent time indicator and move it left or right to select a differentplayback time, causing the playback to begin from that time. The usermay drag the indicator 274 or may touch or select a new location for theindicator 274, causing it to be re-located to the new location andcausing playback to occur from that point, which may be an arbitrarilyselected point. Normally, the time indicator moves from left to rightbeginning from the beginning indicator 271 and ends at the endingindicator 272. Playback controls 275, 276, 277, 278, and 279 allow auser to stop the playback, start the playback, pause the playback, fastforward through the playback, or move in reverse by selecting one ofthese controls. For example, selecting the stop control 275 will causethe playback to be stopped. Selecting the playback control 276 willcause playing to begin from a currently stopped position. The pausecontrol 278 will pause the voicemail at the current position withoutresetting the voicemail to the beginning of the voicemail file (therebycausing the current time indicator 274 to move back to the beginningindicator 271). In other words, the pause control 278 merely stops theplayback but allows the playback to continue from where it was stoppedby selecting the playback control 276. The fast forward control 277allows the user to move quickly through the voicemail recording to getto a later point. The reverse control 279 allows the user to move inreverse in time through the time sequence of the voicemail. It will beappreciated that in certain embodiments, the time line indicator may bepresented by itself without playback controls and yet in otherembodiments, only the playback controls may be presented without a timeline indicator with its associated control or indicator. In otherembodiments, the playback controls and/or the time line indicator may beplaced in another location in the user interface rather than adjacent to(e.g. underneath) the voicemail being played back. In addition, otheruser interface controls may be presented or used such as scrolling orwindow related commands. The list may be scrollable through the use of acursor or a stylus or a finger; the scrolling may occur through directmanipulation of the list on a touch input panel, such as a single ormulti-touch input panel. The list may be presented in a window which canbe minimized or closed or re-sized.

Another aspect of at least certain embodiments is shown in FIG. 4D whichillustrates how the user may view and manipulate other voicemails whileone voicemail is being played back. In the example shown in FIG. 4D,playback of the third voicemail from John is occurring while a user hasselected the second voicemail (from “408-720-8383”) and has caused thatvoicemail to be deleted. This may occur while the user is listening tothe playback of the voicemail from John. In other embodiments, a usermay perform other operations with respect to one or more voicemailswhile listening to another voicemail. FIG. 4D also shows another aspectof the user interface; in particular, a current time indicator 274 hasmoved closer to the ending indicator 272, indicating that the voicemailfrom John is nearly completely played back.

FIGS. 5A and 5B will now be referred to describe an example of how avoicemail user interface may operate. In operation 301, a caller for theuser of a telephone or other device having the voicemail account leavesa voicemail in the voicemail box of the account. This voicemail, inoperation 303, is stored at a voicemail server of a service provider ofthe voicemail account. For example, the service provider may be a publicwireless cellular telephone carrier and the telephone device may use thetelephone service provided by this public wireless cellular telephonecarrier. In this embodiment, the voicemail server records voicemailsleft for the customer of the public telephone carrier. Optionally, anotification may be sent to the device that the voicemails have changedat the server. Metadata about the voicemail is sent in operation 305 tothe device. Optionally, the audio file of the voicemail is sent to thedevice which stores the audio file on the device. The metadata mayinclude the phone number of the caller, optionally the name of thecaller (which may be entered through the keypad of the caller or by alookup operation which compares the caller's phone number to a storedname for that caller). The metadata may also include the length of thevoicemail, any markers, such as “urgent” or “special,” the date and timeof the voicemail, and the length of the voicemail. In operation 307, thetelephone device may present an alert about the new voicemail, such asthe alert 262 shown in FIG. 4A. Then the user or the device may causethe presentation of voicemails in a list, such as the list 264. In oneembodiment, this list may be arranged by the date of recording of thevoicemail as shown in the list 264. Then in operation 311, the user mayselect any voicemail in any order from the list rather than beingrequired to enter a selection serially beginning from the oldestvoicemail to the most recent voicemail. This selection may be aselection for playback or any other command in at least certainembodiments. In the example shown in FIG. 4B, the user may select thefourth voicemail or the tenth voicemail as the first voicemail to belistened to, even though other voicemails which have not been listenedto are older, etc. In other words, the user is not constrained by theorder of recording of the voicemails. This user interface may beimplemented on a display such as that shown in FIG. 2D or the display 71shown in FIG. 2E or the display 93 and/or the display 88 shown in FIGS.2F and 2G, respectively. In response to the selection in operation 311,the system retrieves and plays or plays the previously stored audio filefor the voicemail which has been selected in operation 313.Alternatively, the telephone device may play the voicemail as astreaming media or download portions of the voicemail for playback asdescribed elsewhere herein. As shown in operation 315, the telephonedevice may allow a user to view and/or manipulate one or more voicemailsin the list of voicemails as the user listens to the voicemail which wasselected in operation 311. The manipulation described in operation 315may occur in operation 317 in which a user deletes or saves a voicemailor otherwise manipulates a voicemail while another voicemail is beingplayed back.

FIG. 6 shows another aspect of certain embodiments of the inventions.The method shown in FIG. 6 shows how a client device can locally enforcea voicemail parameter without having to receive additional informationfrom a voicemail server. The voicemail parameter may be the length of avoicemail greeting or the length of a password or another parameter. Inoperation 350, at least one of a password length and/or a greetinglength is sent to the device; this would typically occur upon theinitialization of a voicemail account. In other words, when thevoicemail account is initially being set up, the transmission of theselengths would typically occur at that time. The device in operation 352receives the one or more lengths and stores them for future use at thedevice. In operation 354, the device receives either a password, such asa new password or a changed password, or a new greeting or a changedgreeting. In response to operation 354, the system compares, inoperation 356, the received input to the stored data to enforce thevoicemail parameter. In the case of a password length, the systemcompares the length of the password inputted in operation 354 to thelength stored for a password which is valid. This length may bespecified as two lengths which include a minimum length and a maximumlength, although in certain embodiments, it may be one length which ismerely the minimum length or the maximum length. In another embodiment,the length may specify the length of a voicemail greeting in seconds,for example. Hence, in this case, operation 356 would compare the lengthof a new or changed voicemail greeting to the limit in time for avoicemail greeting transmitted in operation 350. This allows the clientdevice to locally enforce the parameter without requiring that the newor changed password or new or changed greeting be transmitted to avoicemail server or some other voicemail system within theinfrastructure and rejected, causing a rejection message to be sent backto the client device. In other words, network traffic can be reduced bylocally enforcing the voicemail parameter at the client device.

FIG. 7 shows another aspect of at least certain embodiments of thepresent inventions. The method of FIG. 7 relates to the streaming ofvoicemails from a voicemail server or other server to the client device,which may be any one of the telephone devices shown in FIG. 3 and whichmay include the data processing system, such as the system 20 or 30shown in FIGS. 2A and 2B, respectively. In operation 380, a systemwithin the infrastructure receives a request for a voicemail as astreaming media. The system may be a voicemail server, such as thevoicemail server 111 shown in FIG. 3. In response, the system transmitsa portion, in operation 382, of the voicemail as streaming media to thedevice. The portion may be transmitted as one or more data packets, eachhaving a header which specify a time or frame number or multiple timesor multiple frame numbers associated with the portion relative to theentire voicemail. In operation 384, this portion of the voicemail isreceived at the device, and this portion is buffered in operation 386.The transmission, receipt and buffering in operations 382, 384, and 386are typically repeated several times. The portions are buffered as theyare received and the transmission typically continues while the receiptand the buffering continues. In a typical streaming operation, playbackin operation 388 occurs after a sufficient quantity of data has beenbuffered from operation 386. The playback occurs by retrieving data fromthe buffer as it is also being filled by new data from operation 384.The playback of a received portion of the voicemail in the streamingmedia can occur as later portions in the streaming media are beingreceived and buffered. In this manner, at least some voicemails can beretrieved by using a streaming media technique rather than downloadingthe file and saving it locally on the telephone device.

FIG. 8 shows a method according to another aspect of at least certainembodiments of the inventions. The method of FIG. 8 does not utilize astreaming media technique but rather uses a partial download techniqueto download portions of the voicemail along with identifiers whichindicate how the portion fits within the entire time sequence of avoicemail. In operation 400, a telephone device, which may be any one ofthe telephone devices shown in FIG. 3 and which may include the systems20 or 30 shown in FIGS. 2A and 2B, respectively, may receive a firstportion of a voicemail with first metadata indicating start and endtimes or other time related information for that portion relative to theentire voicemail time sequence. This information is saved in operation402. If the telephone device is coupled to the voicemail server throughthe wireless telephone connection, it is possible that the connectioncould be lost, as shown in operation 404, and then reestablished. Itwill be understood that operation 404 is optional and that the secondportion may be received from operation 406 without having lost theconnection. The second portion of voicemail data also includes secondmetadata which specifies a time relationship of the second portionrelative to the entire time sequence of the voicemail. The partialdownloading of voicemails with this metadata allows for downloading ofvoicemail audio files or other voicemail information even in wirelesscellular networks which may have sporadic coverage. The playback of areceived portion (e.g. first portion) can occur before or whilereceiving another portion of the voicemail.

FIG. 9 shows a method which may be used in at least certain embodimentsof the present inventions. This method utilizes an expiration date for aparticular voicemail in order to provide a way for a user to be notifiedof or to otherwise take an action with respect to, either through userinteraction or by the system automatically, a voicemail before itexpires. This allows the system to prevent a voicemail from beingaccidentally deleted or erased should its expiration date pass. Inoperation 425, a voicemail metadata is received at a telephone device,such as any one of the telephone devices shown in FIG. 3 which mayinclude a data processing system 20 or 30 shown in FIGS. 2A and 2B,respectively. The voicemail metadata may include the server ID number,which is typically a unique ID number, assigned by a voicemail server,for each voicemail for a particular voicemail account, the expirationdate of that voicemail, the length of the voicemail, the date and timethat the voicemail was left or recorded, the list and status of thevoicemail, the name of the caller, which is optional, and the phonenumber of the caller, if available, etc. The expiration data, which maybe part of this metadata, is typically provided as a day and time,although it may be merely a day if a standardized time for deletion isestablished in the system. In operation 427, the expiration date or datamay optionally be presented to a user in a user interface. This mayoccur when it is about to be deleted or at a time before deletion or inany presentation of a list of voicemails. For example, the userinterface shown in FIG. 4B may include the expiration data. In certainembodiments, the expiration data may be displayed in a column and thelist of voicemails may be sorted by expiration date. In addition to oras an alternative to the mere presentation of the expiration data for aparticular voicemail, the system may also perform operation 429. Inoperation 429, an optional user interface may be presented to the userprior to expiration to allow a user to download and/or save thevoicemail before it is erased. Alternatively, the user interface maygive the user the ability to send the command to a voicemail server toextend the duration date of the voicemail at the server. In oneembodiment, this user interface may be presented at either a predefinedor dynamically generated time or at another time prior to expiration ofthe particular voicemail. Alternatively, or in addition, a message maybe sent automatically to the voicemail server prior to expiration of thevoicemail to extend the duration at the server or to cause the voicemailto be downloaded to the telephone device. It will be understood that theexpiration data for a voicemail is for that particular voicemail andanother voicemail will typically have a different expiration datedepending upon the policies and rules of a voicemail system.

FIGS. 10A and 10B relate to another aspect of certain embodimentsdescribed herein. At least certain embodiments allow a user to set up agreeting or to change a greeting by at least two different mechanisms.For example, after initialization of a voicemail system, a user may beable to change the voicemail greeting at a telephone device which is thedevice for which the voicemail account has been established, or at aland line telephone or other phone having a phone number for which thevoicemail account was not established. Either of such telephones couldbe used to call the voicemail server to change the greeting message inthe voicemail system. Being able to change the voicemail greeting from aplurality of different devices may cause confusion in that a greetingstored at a telephone device for which the voicemail account has beenestablished may be different than the voicemail greeting saved at avoicemail server. For example, if the original voicemail greeting wasrecorded at the telephone device for which the voicemail account exists,and then the user changed the greeting by using a different telephonedevice (having a phone number for which there is no voicemail account)then there are two different voicemail greetings which are stored on thetwo different systems. It is useful to have a way to distinguish betweenthose greetings to determine which one is the newer greeting, as it isassumed that the newer greeting reflects the intent of the user of thevoicemail account.

FIG. 10A shows a process for initializing the voicemail greeting. Inoperation 451, the greeting is received at the device, and a greeting IDis associated with the greeting. This greeting ID may include a date andtime stamp along with the phone number of the telephone device whichowns the voicemail account. This greeting is saved at the telephonedevice and transmitted to a voicemail server. Also, the greetingidentifier (ID) is also transmitted to the voicemail server. Thevoicemail server, in operation 455, saves the greeting and saves thegreeting ID and transmits an acknowledgement to the device. Thetransaction, in operation 455, may advantageously be an atomictransaction using techniques known in the art to create an atomictransaction when saving data. After initialization, the method of FIG.10B may be employed to determine which of two saved greetings is themost current greeting which should be used on both devices. In operation481, a new or changed greeting is saved at a first system. In analternative embodiment, a new password may be saved at the first system.In addition, in operation 481, a unique identifier is also saved for thegreeting or password. This identifier may include the telephone numberof the telephone device which owns the voicemail account and may includea date and time stamp. Operation 481 may occur when the first system isnot in communication with the second system. For example, operation 481may occur when the telephone device, which owns the voicemail account,is not connected to a voicemail server. It will be understood that thefirst system may be either of the telephone device or the voicemailserver. In operation 483, a connection is established between the firstsystem and the second system. For example, a connection may beestablished between the user's telephone device, which may be any one ofthe telephone devices shown in FIG. 3, and the voicemail server. Then inoperation 485, the identifier, such as a greeting identifier, at thefirst system is compared to the greeting identifier at the secondsystem. If these identifiers match, then it shows that the two systemsare synchronized with respect to the greeting. If they do not match,then the more recent greeting identifier is determined to be the correctidentifier and its associated greeting is transmitted in operation 487to the other system which has the older greeting (or older password). Inaddition, the identifier for the newer greeting or newer password isalso transmitted to the other system which had stored the older greetingor older password. Atomic transactions, which are known in the art, maybe preferred to save the greeting and/or greeting ID to make sure thetransaction is completed entirely or not. By implementing the methods ofFIGS. 10A and 10B, it is possible for a user to change a greeting or apassword at any telephone device which can connect to a voicemail serveror other voicemail infrastructure system rather than being required tochange the greeting or password using only the device which owns thevoicemail account (e.g. the device which initialized the account).

FIG. 11 relates to another aspect of at least certain embodiments of theinventions. In this method, a voicemail server may have a constrainednumber of connections which it can support for a particular telephonedevice. This may be a rule or policy enforced by a public telephonecarrier for a variety of reasons. FIG. 11 shows a method for operatingwithin such a constrained system. In operation 501, a selection forplayback of a voicemail is received and a connection for this firstvoicemail is established. This connection may be an HTTP connectionthrough the Internet. The connection may be to download or to stream thefirst voicemail. In response to the selection, operation 503 causes theplayback of the first voicemail. In addition, in operation 503, a userinterface may present a list of other voicemails, allowing the user tobrowse and/or manipulate voicemails in the list in the user interface.In operation 504, while playing back the first voicemail, the system mayreceive a selection for playback of a second voicemail. In response tothis selection, the system terminates the first connection andestablishes a second connection, such as a second HTTP connection withthe voicemail server to download or stream the second voicemail. In thiscase, the first connection is preempted in order to establish the secondconnection to playback or otherwise manipulate or access the secondvoicemail.

Another aspect of at least certain embodiments relates to a method forproviding an address or a URL of the voicemail server to a telephonedevice when it is not initialized. In one embodiment, the telephonedevice can request the public telephone carrier which provides telephoneservice for the telephone device to send a SMS message to the telephonedevice which includes the URL of the voicemail server to allowinitialization of the voicemail service. In this manner, the telephonedevice can be manufactured without having to store a particular URL fora voicemail server. Further, the device can be deployed for a customerwithout having to store that URL in the device. This also allowsflexibility for a service provider, such as a public telephone carrier,which can change the URL at any point in time and still be able toprovide the ability for a new device which has not been initialized tocontact the voicemail server through a URL provided by the serviceprovider, such as a public telephone carrier.

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

What is claimed is:
 1. A machine-implemented method comprising:displaying, on a communication device, a user interface presenting alist comprising a plurality of voicemails; receiving, by thecommunications device, a first selection within the displayed list, thefirst selection selecting a first voicemail from the plurality ofvoicemails; responding to the first selection of the first voicemail by:displaying a plurality of playback controls for the first voicemailwhile continuing to display at least a subset of the displayed list; andinitiating play back of the first voicemail; receiving, by thecommunication device while the first voicemail is being played back, asecond selection within the displayed list, wherein the second selectionis capable of selecting any of the plurality of voicemails in any order,the second selection selecting a second voicemail from the plurality ofvoicemails; and responding to the second selection of the secondvoicemail while the first voicemail is being played back by: terminatingplay back of the first voicemail; displaying a plurality of playbackcontrols for the second voicemail while continuing to display at least asubset of the displayed list; and initiating play back of the secondvoicemail; wherein the plurality of playback controls for the firstvoicemail are displayed in between two voicemails of the plurality ofvoicemails in the displayed list.
 2. The method of claim 1, wherein theplurality of playback controls for the first voicemail include a stopcontrol, a start control, a pause control, a fast forward control, and amove in reverse control.
 3. The method of claim 1, further comprisingresponding to the first selection of the first voicemail by displaying atime line corresponding to the first voicemail.
 4. The method of claim1, wherein the communications device is a VOIP device.
 5. The method ofclaim 1, wherein downloading the second voicemail comprises receivingthe second voicemail as streaming media.
 6. The method of claim 1,wherein the user interface includes a plurality of fields for displayingmetadata associated with each voicemail in the plurality of voicemails.7. The method of claim 6, wherein the metadata associated with arespective voicemail includes at least a subset of: a name of the personwho left the respective voicemail, a phone number of the person who leftthe respective voicemail, a date and time of the respective voicemail, aduration of the respective voicemail, and an indication as to whetherthe respective voicemail has been listened to previously.
 8. The methodof claim 1, wherein the user interface further includes a user interfaceelement corresponding to a command for sorting the plurality ofvoicemails.
 9. The method of claim 1, wherein the user interface furtherincludes one or more user interface elements corresponding to one ormore commands for: deleting a voicemail, saving a voicemail, forwardinga voicemail to another telephone number or voicemail server, listeningto a voicemail, or moving a voicemail to a folder.
 10. A non-transitorycomputer-readable storage medium storing one or more programs configuredfor execution by a communication device, the one or more programscomprising instructions for: displaying, a communications device, a userinterface presenting a list comprising a plurality of voicemails;receiving, by the communications device, a first selection within thedisplayed list, the first selection selecting a first voicemail from theplurality of voicemails; responding to the first selection of the firstvoicemail by: displaying a plurality of playback controls for the firstvoicemail while continuing to display at least a subset of the displayedlist; and initiating play back of the first voicemail; receiving, by thecommunications device while the first voicemail is being played back, asecond selection within the displayed list, wherein the second selectionis capable of selecting any of the plurality of voicemails in any order,the second selection selecting a second voicemail from the plurality ofvoicemails; and responding to the second selection of the secondvoicemail while the first voicemail is being played back by: terminatingplay back of the first voicemail; displaying a plurality of playbackcontrols for the second voicemail while continuing to display at least asubset of the displayed list; and initiating play back of the secondvoicemail; wherein the plurality of playback controls for the firstvoicemail are displayed in between two voicemails of the plurality ofvoicemails in the displayed list.
 11. The non-transitorycomputer-readable storage medium of claim 10, wherein the communicationsdevice is a VOIP device.
 12. The non-transitory computer-readablestorage medium of claim 10, wherein the user interface includes aplurality of fields for displaying metadata associated with eachvoicemail in the plurality of voicemails.
 13. The non-transitorycomputer-readable storage medium of claim 12, wherein the metadataassociated with a respective voicemail includes at least a subset of: aname of the person who left the respective voicemail, a phone number ofthe person who left the respective voicemail, a date and time of therespective voicemail, a duration of the respective voicemail, and anindication as to whether the respective voicemail has been listened topreviously.
 14. The non-transitory computer-readable storage medium ofclaim 10, wherein the user interface further includes one or more userinterface elements corresponding to one or more commands for: deleting avoicemail, saving a voicemail, forwarding a voicemail to anothertelephone number or voicemail server, listening to a voicemail, ormoving a voicemail to a folder.
 15. A communications device comprising:one or more processors; memory storing one or more programs to beexecuted by the one or more processors; the one or more programscomprising instructions for: displaying a user interface presenting alist comprising a plurality of voicemails; receiving a first selectionwithin the displayed list, the first selection selecting a firstvoicemail from the plurality of voicemails; responding to the firstselection of the first voicemail by: displaying a plurality of playbackcontrols for the first voicemail while continuing to display at least asubset of the displayed list; and initiating play back of the firstvoicemail; receiving, while the first voicemail is being played back, asecond selection within the displayed list, wherein the second selectionis capable of selecting any of the plurality of voicemails in any order,the second selection selecting a second voicemail from the plurality ofvoicemails; and responding to the second selection of the secondvoicemail while the first voicemail is being played back by: terminatingplay back of the first voicemail; displaying a plurality of playbackcontrols for the second voicemail while continuing to display at least asubset of the displayed list; and initiating play back of the secondvoicemail; wherein the plurality of playback controls for the firstvoicemail are displayed in between two voicemails of the plurality ofvoicemails in the displayed list.
 16. The communications device of claim15, wherein the communications device is a VOIP device.
 17. Thecommunications device of claim 15, wherein the user interface includes aplurality of fields for displaying metadata associated with eachvoicemail in the plurality of voicemails.
 18. The communications deviceof claim 17, wherein the metadata associated with a respective voicemailincludes at least a subset of: a name of the person who left therespective voicemail, a phone number of the person who left therespective voicemail, a date and time of the respective voicemail, aduration of the respective voicemail, and an indication as to whetherthe respective voicemail has been listened to previously.
 19. Thecommunications device of claim 15, wherein the user interface furtherincludes one or more user interface elements corresponding to one ormore commands for: deleting a voicemail, saving a voicemail, forwardinga voicemail to another telephone number or voicemail server, listeningto a voicemail, or moving a voicemail to a folder.